/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package logica;

import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import org.primefaces.model.map.LatLng;

/**
 *
 * @author Jose
 */
public class Restaurante implements Serializable {

    int codigo;
    String nombre;
    String descripcion;
    double latitud;
    double longitud;
    String ubicacion;
    int categoria;
    List<String> horarios;
    List<MenuRest> menus;
    List<MenuRest> promociones;
    //agregado Autor: Jaime Delgado
    double puntuacion;    
    String puntuacionString;
    
    public Restaurante(){}
    
    public Restaurante(int codigo){
        this.codigo = codigo;
    }
    
    public LatLng getCoordena() {
        return new LatLng(latitud, longitud);
    }

    public String getFoto(){
        String aux=nombre.replace(" ", "_");
        return aux+".jpg";
    }
    
    public String getIcon(){
        switch(categoria){       
            case 1://tienda
                return "http://k31.kn3.net/8/A/0/E/E/6/6D5.png";
           
            case 2://comida rapida
                return "http://k30.kn3.net/6/E/B/4/D/4/CBC.png";
            case 3://cafeteria
                return "http://k30.kn3.net/6/E/B/4/D/4/CBC.png";           
            default: 
                return  "http://maps.google.com/mapfiles/ms/micons/blue-dot.png";
        }
    }
    
    /**
     * @return the codigo
     */
    public int getCodigo() {
        return codigo;
    }

    /**
     * @param codigo the codigo to set
     */
    public void setCodigo(int codigo) {
        this.codigo = codigo;
        ManejadorRestaurante mr = new ManejadorRestaurante();
        Restaurante res = mr.getRestaurante(codigo);
        if(res!=null){
            this.nombre = res.nombre;
            this.ubicacion = res.ubicacion;
            this.horarios = res.horarios;
            this.menus = mr.getAllMenus(codigo);
            this.promociones = mr.getAllPromociones(codigo);
        }
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the descripcion
     */
    public String getDescripcion() {
        return descripcion;
    }

    /**
     * @param descripcion the descripcion to set
     */
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    /**
     * @return the latitud
     */
    public double getLatitud() {
        return latitud;
    }

    /**
     * @param latitud the latitud to set
     */
    public void setLatitud(double latitud) {
        this.latitud = latitud;
    }

    /**
     * @return the longitud
     */
    public double getLongitud() {
        return longitud;
    }

    /**
     * @param longitud the longitud to set
     */
    public void setLongitud(double longitud) {
        this.longitud = longitud;
    }

    /**
     * @return the categoria
     */
    public int getCategoria() {
        return categoria;
    }

    /**
     * @param categoria the categoria to set
     */
    public void setCategoria(int categoria) {
        this.categoria = categoria;
    }

    public String getUbicacion() {
        return ubicacion;
    }

    public void setUbicacion(String ubicacion) {
        this.ubicacion = ubicacion;
    }

    public List<String> getHorarios() {
        return horarios;
    }

    public void setHorarios(List<String> horarios) {
        this.horarios = horarios;
    }
    
    public List<MenuRest> getMenus() {
        return menus;
    }

    public void setMenus(List<MenuRest> menus) {
        this.menus = menus;
    }

    public List<MenuRest> getPromociones() {
        return promociones;
    }

    public void setPromociones(List<MenuRest> promociones) {
        this.promociones = promociones;
    }

    public double getPuntuacion() {
        return puntuacion;
    }

    public void setPuntuacion(double puntuacion) {
        this.puntuacion = puntuacion;
    }

    public String getPuntuacionString() {
        return puntuacionString;
    }

    public void setPuntuacionString(String puntuacionString) {
        this.puntuacionString = puntuacionString;
    }
    
    
    
    
    
}